package com.adcc.ags.gms.mq.mapper;

import com.adcc.ags.gms.mq.entity.Queue;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by zhangpeng on 2016/8/12.
 */
public interface QueueMapper {

    public List<Queue> findAll();

    /**
     * 新增队列
     * @param queue
     */
    public void createQueue(Queue queue);

    /**
     * 根据队列ID更新队列
     * @param queue
     */
    public void updateQueueById(Queue queue);

    /**
     * 根据队列名称更新队列
     * @param queue
     */
    public void updateQueueByName(Queue queue);

    /**
     * 删除队列
     * @param id
     */
    public void deleteQueue(Long id);

    /**
     * 根据队列ID查找
     * @param id
     * @return
     */
    public Queue findById(Long id);

    /**
     * 是否存在队列名称
     * @param name
     * @return
     */
    public int isExistQueueName(String name);

    /**
     * 根据生效字段查找
     * @param enable
     * @return
     */
    public List<Queue> findByEnable(String enable);

    /**
     * 根据名称模糊查询用户队列
     * @param name
     * @return
     */
    public List<Queue> findByCondition(@Param("name")String name);

    /**
     * 根据队列名查找
     * @param name
     * @return
     */
    public Queue findByName(String name);

}
